#!/bin/bash

# vLLM 启动脚本（国内镜像版）
# 使用双卡 NVIDIA A40

echo "🚀 启动 vLLM 服务器..."
echo "================================================"

# 设置 HuggingFace 镜像
export HF_ENDPOINT=https://hf-mirror.com
echo "✓ HF镜像: ${HF_ENDPOINT}"

# 设置模型路径（根据实际情况修改）
# 注意: Ollama 的 qwen3:4b-instruct 对应的就是 Qwen2.5-3B-Instruct
# 
# 选项 1: 从 HF 镜像自动下载（首次运行会下载到 ~/.cache/huggingface/）
MODEL_NAME="Qwen/Qwen2.5-3B-Instruct"
#
# 选项 2: 如果已有本地模型，直接指定路径
# MODEL_NAME="/path/to/models/Qwen2.5-3B-Instruct"
# MODEL_NAME="$HOME/.cache/huggingface/hub/models--Qwen--Qwen2.5-3B-Instruct/snapshots/xxxxx"

# vLLM 配置
TENSOR_PARALLEL=1        # 双卡并行
GPU_MEMORY=0.30         # 75% GPU 显存（避免显存不足）
MAX_MODEL_LEN=4096      # 最大上下文长度
PORT=8000               # 服务端口

echo "✓ 模型: ${MODEL_NAME}"
echo "✓ 并行数: ${TENSOR_PARALLEL} 卡"
echo "✓ 显存利用: ${GPU_MEMORY}"
echo "✓ 最大长度: ${MAX_MODEL_LEN}"
echo "✓ 端口: ${PORT}"
echo "================================================"
echo ""

# 启动 vLLM
python -m vllm.entrypoints.openai.api_server \
    --model "${MODEL_NAME}" \
    --tensor-parallel-size ${TENSOR_PARALLEL} \
    --gpu-memory-utilization ${GPU_MEMORY} \
    --max-model-len ${MAX_MODEL_LEN} \
    --port ${PORT} \
    --host 0.0.0.0 \
    --trust-remote-code

